﻿@{
    ViewBag.Title = "FineUIPro代码生成工具";
    var F = Html.F();
}

@section head {

}

@section body {
    @(F.Panel().ID("Panel1").Margin(5).Title("数据库").ShowBorder(false).ShowHeader(false).Layout(LayoutType.Region).IconFont(IconFont._PullRight).IsViewPort(true)
        .Items(F.SimpleForm().ID("SimpleForm1").Title("(2) 自动生成FineuiPro代码。").Layout(LayoutType.VBox).ShowBorder(true).ShowHeader(true).AutoScroll(true).LabelAlign(LabelAlign.Right).BoxConfigChildMargin("0 0 5 0").BodyPadding(5)
            .Toolbars(F.Toolbar().Items(
                    F.TextBox().Label("命名空间").ID("txb_NameSpace").ShowRedStar(true).Text("BoYuan.FineUIMvcWeb").Width(230),
                    F.TextBox().Label("项目路径").ID("txb_Path").ShowRedStar(true).Text("Admin").Width(220).LabelWidth(100).EmptyText("例: admin/news"),
                    F.TextBox().Label("页面继承类名").ID("txb_BaseClassName").ShowRedStar(true).Text("BaseController").Width(200).LabelWidth(110),
                    F.TextBox().Label("Sugar实体空间").ID("txb_ModelName").ShowRedStar(true).Text("BoYuan.Entity").Width(250).LabelWidth(120),
                    F.TextBox().Label("代码存放位置").ID("txb_savePath").ShowRedStar(true).Text("C:\\Code\\Areas").Width(230).LabelWidth(130),
                    F.Button().ID("Btn_SetSimpleCode").Text("生成代码").Icon(Icon.PageWhiteCsharp).OnClientClick("if(!validate())return;").OnClick(Url.Action("Btn_SetSimpleCode_OnClick"),"SimpleForm1").ValidateForms("SimpleForm1")
                    ,F.HiddenField().ID("hd_tables")        
            )
            //,F.Toolbar().Items(
            //    F.TextBox().Label("项目页面路径").ID("f_moudelUrl").ShowRedStar(true).Width(350).LabelWidth(118),
            //    F.Button().ID("Btn_AddPageInfoToDB").Text("同步Aspx到数据库").Icon(Icon.DatabaseAdd).OnClientClick("if(!validate_path())return;")
            //        //.OnClick(Url.Action("Btn_SetSimpleCode_OnClick"),"SimpleForm1").ValidateForms("SimpleForm1")
            //    ,F.ToolbarSeparator()
            //    //,F.Button().ID("Btn_AddButtonInfoToDB").Text("同步button到数据库").Icon(Icon.Button).OnClientClick("if(!validate_path())return;").OnClick(Url.Action("Btn_SetSimpleCode_OnClick"),"SimpleForm1").ValidateForms("SimpleForm1")
            //)
            )

            ,F.Panel().ID("panelRightRegion").RegionPosition(Position.Right).RegionSplit(true).EnableCollapse(true).EnableIFrame(true).Width(300).IconFont(IconFont._PullUp)
                .IFrameUrl(Url.Action("Index","DbConfig",new{Area="Public" })).Title("(1) 连接数据库").Layout(LayoutType.VBox).ShowBorder(true).ShowHeader(true).BodyPadding(5)
        ))
}

@section script {
    <script>
    //表单验证。由于toolbar里不能进行验证所以要js验证
    function validate() {
        var error = "";
        if (F.ui.txb_BaseClassName.getValue().length == 0) {
            F.ui.txb_BaseClassName.markInvalid(temp);
            error += "请填写[页面继承类名]<br/>";
        }
        if (F.ui.txb_NameSpace.getValue().length == 0) {
            F.ui.txb_NameSpace.markInvalid("请填写[命名空间]");
            error += "请填写[命名空间]<br/>";
        }
        if (F.ui.txb_Path.getValue().length == 0) {
            F.ui.txb_Path.markInvalid("请填写[项目路径]");
            error += "请填写[项目路径]<br/>";
        }

        if (F.ui.txb_ModelName.getValue().length == 0) {
            F.ui.txb_ModelName.markInvalid("请填写[Sugar实体空间]");
            error += "请填写[Sugar实体空间]<br/>";
        }

        if (F.ui.txb_savePath.getValue().length == 0) {
            F.ui.txb_savePath.markInvalid("请填写[代码存放位置]");
            error += "请填写[代码存放位置]<br/>";
        }

        //获取表名称
        var tables =$('iframe')[0].contentWindow.GetTables();
        if (tables.length == 0) {
            error += "请在右侧[数据库]中，选中目标表！";
        }

        if (error.length > 0) {
            F.alert(error);
            return false;
        }

        //取表名称值
        F.ui.hd_tables.setValue(tables);

        F.ui.txb_BaseClassName.clearInvalid();
        F.ui.txb_NameSpace.clearInvalid();
        F.ui.txb_Path.clearInvalid();
        F.ui.txb_ModelName.clearInvalid();
        F.ui.txb_savePath.clearInvalid();
        return true;
    }

    function validate_path() {
        if (F.ui.txb_Path.getValue().length == 0) {
            F.ui.txb_Path.markInvalid("请填写[项目路径]");
            F.alert("请填写[项目路径]");
            return false;
        } else {
            F.ui.txb_Path.clearInvalid();
            return true;
        }
    }

    function ShowHighlight() {
        $('pre code').each(function (i, block) {
            hljs.highlightBlock(block);
        });
    }

    function validateTable() {
        //获取表名称
        var error = '';
        var tables = $('iframe')[0].contentWindow.GetTables();
        if (tables.length == 0) {
            error += "请在右侧[数据库]中，选中目标表！";
        }

        if (error.length > 0) {
            F.alert(error);
            return false;
        }

        //取表名称值
        F.ui.hd_tables.setValue(tables);
        return true;
    }

    //function onToolShowCodeClick() {//由于tool不能直接触发点击事件，需要写js
    //    if(!validate())return ;
    //    __doPostBack('Panel1$SimpleForm1$btn_ShowCode', '');
    //}
    </script>
}